1. Field
The following description relates to a technique for measuring a virtual time stamp value, and more particularly, to an apparatus and method for precisely estimating a virtual time stamp value based on a time stamp value that is measured in a network system.
2. Description of the Related Art
Synchronous transmission systems such as time division multiplexers (TDMs), synchronous optical network (SONET)/synchronous digital hierarchy (SDH) systems use various clock systems to transmit synchronous data in metro- or wide area network (WAN) areas. However, the design of such complicated clock systems is difficult and costly.
On the other hand, in local area network (LAN) areas, Ethernet-based asynchronous networks are widely used. Asynchronous networks have been widespread because they use an asynchronous clock system and are thus easy to design and relatively cheap. The Ethernet has expanded its way into metro- or WAN areas, and has been widely employed in networks that require a data processing speed of dozens of Gbps or higher. However, to maintain real-time audio or multimedia services that are previously provided to existing time-division multiplexing (TDM) networks, it is necessary to provide synchronization with a clock while using the Ethernet.
According to network synchronization techniques available for use in packet networks, a clock system is generally configured to have a hierarchical structure including a master and a slave or a server and a client. A master may provide frequency information and time information to a slave, and the slave may synchronize its clock in frequency or phase with the clock of the master. In the case of synchronizing the slave with the master using a packet network, there is no need to provide an additional architecture for maintaining the slave to be synchronized with the master in metro- or WAN areas, and it is possible to transmit data at low cost.
In the meantime, Network Time Protocol and Precision Time Protocol (PTP) are packet-based network time protocols for synchronization. More specifically, NTP is one of the most dominant protocols for synchronizing a master and a slave that are connected to a network, and is widely used in LAN and WAN areas. According to NTP, computers that are connected to a network may be synchronized with one another using Coordinated Universal Time (UTC), which is the time standard by which the world regulates clocks and time. NTP can provide a precision of several or dozens of milliseconds in a typical Internet environment at low cost without a requirement of additional hardware equipment. However, NTP may not be suitable for use in fields of application where precise time synchronization is required, for example, in the field of multimedia streaming services for packet switching networks, due to its precision limitations. Accordingly, the demand for time protocols for synchronization capable of providing a higher precision than NTP has arisen, and the Institute of Electrical and Electronics Engineers (IEEE) has developed and standardized PTP, which can offer a higher precision than NTP.
PTP version 2, i.e., the IEEE 1588-2008 standard, was released. PTP version 2 is designed for use in measurement and control systems for synchronization. According to IEEE PTP, a clock system may be configured to have a hierarchical structure including a master and a slave.
A master and a slave may compare a database corresponding to their clock property information with a database corresponding to clock property information of an external master on a port in a network that generates each clock according to a best master clock (BMC) algorithm According to PTP, a master and a slave may be synchronized with each other by exchanging time information, messages and/or synchronization signals. More specifically, an offset O between the clocks of the master and the slave and a delay in the transmission of messages between the master and the slave via a network, i.e., a propagation delay D, may be determined based on messages or synchronization signals that are transmitted between the master and the slave, and the clock of the slave may be synchronized with the clock of the master based on the results of the determination.
The master and the slave may exchange various synchronization messages (for example, SYNC, FOLLOW UP, DELAY REQ, and DELAY RESP) with each other, may measure the time of departure or arrival of each of the various synchronization messages, and may calculate the offset O and the propagation delay D. As a result of final time synchronization, the slave may obtain time information t1, t2, t3, and t4 of the various synchronization messages, and may calculate the offset O and the propagation delay D based on the time information t1, t2, t3, and t4. For example, the propagation delay D may be calculated using the following equation: D=((t2−t1)+(t4−t3))/2. For example, the offset O, which is for compensating for any difference between the clocks of the master and the slave, may be calculated using the following equation: O=((t2−t1)−(t4−t3))/2. By reflecting the offset O to the time of the slave, it is possible to synchronize the time of the slave with the time of the master and the time of the network to which the slave and the master are both connected.
PTP, unlike NTP, measures time stamp values corresponding to the times of departure and arrival of a synchronization signal using auxiliary hardware equipment and calculates the offset between the clocks of a master and a slave and a propagation delay based on the time stamp values. Accordingly, PTP can provide a high precision of several microseconds or less. PTP requires hardware equipment for measuring time stamp values, and the hardware equipment is required to recognize a packet that follow PTP, detect a predetermined pattern from the beginning of the packet, and store a time stamp value corresponding to the time of detection of the predetermined pattern. The stored time stamp value may be transmitted to a host processor in which a protocol stack is driven, and the host processor may calculate an offset and a propagation delay for synchronization based on the time stamp value provided by the hardware equipment.